home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Collection of Tools & Utilities
/
Collection of Tools and Utilities.iso
/
graphic
/
vesa_tsr.zip
/
EVEREX
/
VESA.DOC
< prev
next >
Wrap
Text File
|
1990-01-11
|
40KB
|
861 lines
|-----------------------------------------------------------------------|
|The following document is derived from VESA Super VGA BIOS Extension |
|document VS891001. I have tried to make sure that all the information |
|presented in that document is complete and comprehensive. If you find |
|any omissions or errors, please report them to me on the |
|Everex Systems BBS at (415) 683-2984. |
| Gary Lorensen |
| Everex Systems, Inc. |
| 48571 Milmont Dr. B3 |
| Fremont, CA 94538 |
|-----------------------------------------------------------------------|
|-----------------------------------------------------------------------|
|VESA Super VGA Standard VS891001 10/1/89|
|-----------------------------------------------------------------------|
|Video Electronics Standards Association |
|1330 South Bascom Ave. Suite D |
|San Jose, CA 95128-4502 |
|FAX:(408) 286-8988 |
|-----------------------------------------------------------------------|
|Super VGA BIOS Extension |
|Standard #VS891001 |
| |
|Proposal |
| To standardize a common software interface to Super VGA video |
| adapters in order to provide simplified software application |
| access to advanced VGA products. |
| |
|Summary |
| The standard provides a set of functions which an application |
| program can use to |
| a) obtain information about the capabilities and |
| characteristics of a specific Super VGA implementation. |
| b) control the operation of such hardware in terms of video |
| mode initialization and video memory access. |
| The functions are provided as an extension to the VGA BIOS video |
| services, accessed through interrupt 10h. |
|-----------------------------------------------------------------------|
1. Introduction
---------------
This document contains a specification for a standardized interface to
extended VGA video modes and functions. The specification consists of
mechanisms for supporting standard extended video modes and functions
that have been approved by the main VESA committee and nonstandard video
modes that an individual VGA supplier may choose to add, in a uniform
manner that application software can utilize without having to understand
the intricate details of the particular VGA hardware.
The primary topics of this specification are definitions of extended VGA
video modes and the functions necessary for application software to
understand the characteristics of the video mode and manipulate the
extended memory associated with the video modes.
Readers of this document should already be familiar with programming VGAs
at the hardware level and Intel iAPX real mode assembly language.
Readers who are unfamiliar with programming the VGA should first read
one of the many VGA programming tutorials before attempting to understand
these extensions to the standard VGA.
|-----------------------------------------------------------------------|
2. Goals and Objectives
-----------------------
The IBM VGA (IBM and VGA are trademarks of International Business
Machines Corporation) has become a de-facto standard in the PC graphics
world. A multitude of different VGA offerings exist in the marketplace,
each one providing BIOS or register compatibility with the IBM VGA.
More and more of these VGA compatible products implements various
supersets of the VGA standard. These extensions range from higher
resolutions and more colors to improved performance and even some
graphics processing capabilities. Intense competition has dramatically
improved the price/performance ratio, to the benefit of the end user.
However, several serious problems face a software developer who intends
to take advantage of these "Super VGA" environments. (The term
"Super VGA" is used in this document as a term for video graphics
products implementing a superset of the standard IBM VGA display
adapter.) Because these is no standard hardware implementation, the
developer is faced with widely disparate Super VGA hardware
architectures. Lacking a common software interface, designing
applications for these environments is costly and technically difficult.
Except for applications supported by OEM-specific display drivers, very
few software packages can take advantage of the power and capabilities
of Super VGA products.
The purpose of the VESA VGA BIOS Extension is to remedy this situation.
Being a common software interface to Super VGA graphics products, the
primary objective is to enable application and system software to adapt
to and exploit the wide range of features available in these VGA
extensions.
Specifically, the VESA BIOS Extension attempts to address the following
two main issues:
a) Return information about the video environment to the application.
b) Assists the application in initializing and programming the
hardware.
2.1 Video environment information
---------------------------------
Today, an application has no standard mechanism to determine what Super
VGA hardware is is running on. Only by knowing OEM-specific features
can an application determine the presence of a particular video board.
This often involves reading and testing registers located in I/O
addresses unique to each OEM. By not knowing what hardware an
application is running on, few, if any, of the extended features of the
underlying hardware can be used.
The VESA BIOS Extension provides several functions to return information
about the video environment. These functions return system level
information as well as video mode specific details. Function 00h returns
general system level information, including an OEM identification string.
The function also returns a pointer to the supported video modes.
Function 01h may be used by the application to obtain information about
each supported video mode. Function 03h returns the current video mode.
2.2 Programming support
-----------------------
Due to the fact that different Super VGA products have different hardware
implementations, application software has great difficulty in adapting
to each environment. However, since each is based on the VGA hardware
architecture, differences are most common in video mode initialization
and memory mapping. The rest of the architecture is usually kept intact,
including I/O mapped registers, video buffer location in the CPU address
space, DAC location and function, etc.
The VESA BIOS Extension provides several functions to interface to the
different Super VGA hardware implementations. The most important of
these us Function 02h, Set Super VGA mode. The function isolates the
application from the tedious and complicated task of setting up a video
mode. Function 05h provides an interface to the underlying memory
mapping hardware. Function 04h enables an application to save and
restore a Super VGA state without knowing anything of the specific
implementation.
2.3 Compatibility
-----------------
A primary design objective of the VESA BIOS Extension is to preserve
maximum compatibility to the standard VGA environment. In no way should
the BIOS extensions compromise compatibility or performance. Another but
related concern is to minimize changes necessary to an existing VGA BIOS.
RAM as well as ROM-based implementations of the BIOS extension should be
possible.
2.4 Scope of standard
---------------------
The purpose of the VESA BIOS Extension is to provide support for extended
VGA environments. Thus, the underlying hardware architecture is assumed
to be a VGA. Graphics software that drives a Super VGA board will
perform its graphics output in generally the same way it drives a
standard VGA, i.e. writing directly to a VGA-style frame buffer,
manipulating graphics controller registers, directly programming the
palette, etc. No significant graphics processing will be done in
hardware. For this reason, the VESA BIOS Exten